This invention broadly relates to data processing techniques, and more particularly, to a technique for external job scheduling within a distributed processing system having a preexisting xe2x80x9clocalxe2x80x9d job control system with inadequate job scheduling capabilities.
A collection of autonomous machines connected by a network and unified by appropriate software and management policies is itself a computer system. This concept of a network-based computer system continues to become more and more significant in the computer industry. Network-based computers include more than a client-server computing and its emphasis on two party relationship. In network-based computing, a service (or resource) becomes a more general concept and no longer needs to be tied to a single machine; rather, it becomes a feature of the whole network-based computer. A network-based computer, or environment, can arise in a number of contexts such as in a heterogenous collection of user workstations and server machines on a local area network; in a special purpose xe2x80x9cclusteredxe2x80x9d machine consisting of individual processors connected by a high-speed network; or in a campus or enterprise or global network connecting several such environments together.
An important component in all of these environments is a resource management system, and a significant aspect of the resource management system is its job scheduling capability. Oftentimes, a distributed processing system may have an existing approach to managing jobs within the distributed system. This existing approach, referred to herein as a xe2x80x9clocal job control systemxe2x80x9d may or may not possess rudimentary job scheduling capabilities. In many such systems, job scheduling can be thought of as manual in that an operator or user of the system starts a job and the local job control system simply monitors the progress of the job.
For a variety of reasons, applicants have determined it desirable to maintain the local job control system, while at the same time providing the local system with an enhanced and automatic external job scheduling capability.
Briefly summarized, the invention comprises in one aspect a method for processing jobs within a distributed processing system having a local job control system (LJCS) which receives user jobs to be processed. The method includes: starting a marker job by a resource scheduler external to the local job control system, wherein the marker job corresponds to a user job to be run by the LJCS; responsive to starting of the marker job by the resource scheduler, starting the user job by the LJCS; and upon termination of the user job, ending the marker job started by the resource scheduler, wherein starting of the user job by the LJCS is responsive to the resource scheduler""s starting of the marker job and wherein ending of the marker job is responsive to termination of the user job by the LJCS.
In another aspect, a system for processing jobs within a distributed processing system is provided. The distributed processing system has a local job control system (LJCS) which receives user jobs to be processed. The system includes a resource scheduler located external to the LJCS which has means for starting a marker job, wherein the marker job corresponds to a user job to be run by the LJCS. This system further includes means for starting the user job by the LJCS responsive to starting of the marker job by the resource scheduler, and thereafter, means for ending the marker job started by the resource scheduler upon termination of the user job. Thus, the means for starting of the user job by the LJCS is responsive to the resource scheduler""s means for starting the marker job and the means for ending the marker job is responsive to termination of the user job.
In a further aspect, at least one program storage device, readable by a machine, tangibly embodying at least one program of instructions executable by the machine is provided to perform a method for processing jobs within a distributed processing system having a local job control system (LJCS) which receives user jobs to be processed. The method includes: starting a marker job by a resource scheduler external to the LJCS, wherein the marker job corresponds to a user job to be run by the LJCS; responsive to starting of the marker job by the resource scheduler, starting the user job by the LJCS; and upon termination of the user job, ending the marker job started by the resource scheduler, wherein starting of the user job by the LJCS is responsive to the resource scheduler""s starting of the marker job and wherein ending of the marker job is responsive to termination of the user job.
To restate, provided herein is a technique for adding resource scheduling capabilities to a preexisting job control facility which may or may not have its own job scheduler. The technique involves encapsulating running of a user job at the local job control system with starting and ending of a marker job by the resource scheduler. Preferably, the resource scheduler employs a node management system such as the Load Leveler program offered by International Business Machines (IBM) Corp. Using this technique, a client is able to maintain existing interfaces of the local job control system, while at the same time have automatic job scheduling capabilities superimposed onto the system. Further, these capabilities are provided while minimizing any changes to the underlying, preexisting local job control system.
The solution presented effectively closes any opportunity for out-of-synchronization errors between the multiple codes in the solution, i.e., between the external resource scheduler, the node management system and the local job control system. Further, the solution of the present invention is a simple and robust implementation for superimposing an external scheduler over a node management system and local job control system. The customer""s code (i.e., local job control system) is preserved without expensive changes to support synchronization between the scheduling sub-systems. By subordinating the customer code to the control of the node management system/external resource scheduler, examination of node management system data provides complete information regarding the progress of the customer task.